﻿using System.IO;
using System;

namespace Demo2
{
    /// <summary>
    /// 文件日志处理
    /// </summary>
    public class FileLogger : ILogger
    {
        //【日志记录接口】的写入文件实现
        public void Log(string user, string logInfo)
        {
            string path = "log1.txt";
            string content = $"对象：{user}, 操作时间：{DateTime.Now}，操作：{logInfo}";
            WriteToFile(content, path);
        }

        /// <summary>
        /// 写入txt的方法
        /// </summary>
        /// <param name="content">字符串内容</param>
        /// <param name="path">文件的路径</param>
        public void WriteToFile(string content, string path)
        {
            try
            {
                //File.WriteAllText(path, content);  此方法不能追加日志

                // using来定义对象的作用域，在作用域下文件才能操作
                using (StreamWriter sw = new StreamWriter(path, true))
                {
                    sw.WriteLine(content);
                }
                Console.WriteLine("日志写入成功！");
            }
            catch(Exception ex)
            {
                Console.WriteLine($"日志写入失败，错误为{ex.Message}！");
            }
        }
    }
}
